package tp.tecnicasdisenio.dao.impl.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import tp.tecnicasdisenio.util.LectorPropiedades;

public class ConnectionFactory {
	String driverClassName = LectorPropiedades.getInstance().getPropiedad(LectorPropiedades.NOMBRE_DRIVER_SGBD);

	String connectionUrl = "jdbc:" + LectorPropiedades.getInstance().getPropiedad(LectorPropiedades.SISTEMA_GESTION_BD) + ":"+ 
			LectorPropiedades.getInstance().getPropiedad(LectorPropiedades.HOST_BD) + 
			LectorPropiedades.getInstance().getPropiedad(LectorPropiedades.NOMBRE_BD);
	String dbUser = LectorPropiedades.getInstance().getPropiedad(LectorPropiedades.USER_BD);
	String dbPwd = LectorPropiedades.getInstance().getPropiedad(LectorPropiedades.PASSWORD_BD);

	private static ConnectionFactory connectionFactory = null;

	private ConnectionFactory() {
		try {
			Class.forName(driverClassName);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	public Connection getConnection() throws SQLException {
		Connection conn = null;
		conn = DriverManager.getConnection(connectionUrl, dbUser, dbPwd);
		return conn;
	}

	public static ConnectionFactory getInstance() {
		if (connectionFactory == null) {
			connectionFactory = new ConnectionFactory();
		}
		return connectionFactory;
	}
}
